/**
 * 侧边栏功能脚本
 * 实现侧边栏的折叠/展开功能和移动端适配
 */

document.addEventListener('DOMContentLoaded', function() {
    // 获取DOM元素
    const sidebar = document.querySelector('.sidebar');
    const collapseBtn = document.querySelector('.collapse-btn');
    const mobileMenuBtn = document.querySelector('.mobile-menu-btn');
    const mobileMenuOverlay = document.querySelector('.mobile-menu-overlay');
    const appContainer = document.querySelector('.app-container');
    
    // 检查是否存在侧边栏（某些页面可能没有侧边栏）
    if (!sidebar) return;
    
    // 从本地存储中获取侧边栏状态
    const isSidebarCollapsed = localStorage.getItem('sidebarCollapsed') === 'true';
    
    // 根据存储的状态设置侧边栏
    if (isSidebarCollapsed) {
        sidebar.classList.add('collapsed');
    }
    
    // 折叠按钮点击事件
    if (collapseBtn) {
        collapseBtn.addEventListener('click', function() {
            sidebar.classList.toggle('collapsed');
            // 保存状态到本地存储
            localStorage.setItem('sidebarCollapsed', sidebar.classList.contains('collapsed'));
        });
    }
    
    // 移动菜单按钮点击事件
    if (mobileMenuBtn) {
        mobileMenuBtn.addEventListener('click', function() {
            sidebar.classList.toggle('mobile-active');
            if (mobileMenuOverlay) {
                mobileMenuOverlay.classList.toggle('active');
            }
        });
    }
    
    // 点击遮罩层关闭移动菜单
    if (mobileMenuOverlay) {
        mobileMenuOverlay.addEventListener('click', function() {
            sidebar.classList.remove('mobile-active');
            mobileMenuOverlay.classList.remove('active');
        });
    }
    
    // 为侧边栏菜单项添加工具提示
    const navItems = document.querySelectorAll('.nav-item');
    navItems.forEach(item => {
        const navText = item.querySelector('.nav-text');
        if (navText) {
            const tooltipText = navText.textContent;
            
            // 创建工具提示元素
            const tooltip = document.createElement('div');
            tooltip.classList.add('nav-tooltip');
            tooltip.textContent = tooltipText;
            
            // 添加到菜单项
            item.appendChild(tooltip);
        }
    });
    
    // 处理窗口大小变化
    window.addEventListener('resize', function() {
        if (window.innerWidth <= 768) {
            // 移动设备视图
            sidebar.classList.remove('collapsed');
            sidebar.classList.remove('mobile-active');
            if (mobileMenuOverlay) {
                mobileMenuOverlay.classList.remove('active');
            }
        }
    });
    
    // 设置当前活动菜单项
    const currentPath = window.location.pathname;
    const fileName = currentPath.split('/').pop();
    
    navItems.forEach(item => {
        const href = item.getAttribute('href');
        if (href && (href === fileName || (fileName === '' && href === 'index.html'))) {
            item.classList.add('active');
        } else if (href && fileName && fileName.includes(href.replace('.html', ''))) {
            item.classList.add('active');
        }
    });
}); 